package com.yz.design.settlement;

import java.util.List;

/**
 * @ClassName Strategy
 * @Description 结算策略
 * @Author 广长
 * @Date 2020/7/10
 * @Version V1.0
 **/
public interface SettlementStrategy {

    /**
     * @Description: 保存草稿
     * @Author: 广长
     * @Date: 2020/7/10
     * @Param context:
     * @Return: SettlementContext
     */
   SettlementContext saveDraft(SettlementContext context);


    /**
     * @Description: 删除草稿
     * @Author: 广长
     * @Date: 2020/7/10
     * @Param entity:
     * @Return: void
     */
    void removeDraft(SettlementContext context);

    /**
     * @Description: 付款城市站上下文
     * @Author: 广长
     * @Date: 2020/7/10
     * @Param payContext:
     * @Return: context
     */
    CitySiteSettlementContext getPayContext(SettlementContext context);
    /**
     * @Description: 收款城市站上下文
     * @Author: 广长
     * @Date: 2020/7/10
     * @Param payContext:
     * @Return: context
     */
    CitySiteSettlementContext getReceiveContext(SettlementContext context);


    /**
     * @Description: 获取结算明细
     * @Author: 广长
     * @Date: 2020/7/11
     * @Param context:
     * @Return: java.util.List<java.lang.Object>
     */
    List<Object> getSettlementDetailedList(SettlementContext context);

}
